package com.ruoyi.recycle.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * 普通用户管理对象 client_user_management
 *
 * @author Wubk
 * @date 2022-05-21
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("普通用户管理")
@TableName("client_user_management")
public class ClientUserManagement implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ApiModelProperty(name = "id", value = "普通用户管理id", dataType = "Long")
    private Long id;

    /**
     * 用户名
     */
    @Excel(name = "用户名")
    @ApiModelProperty(name = "userName", value = "用户", dataType = "String")
    private String userName;

    /** 手机号 */
    @Excel(name = "手机号")
    @ApiModelProperty(name = "phone",value = "手机号",dataType = "String")
    private String phone;

    /** 积分 */
    @Excel(name = "积分")
    @ApiModelProperty(name = "integral",value = "积分",dataType = "Long")
    private Long integral;

    /** 微信标识 */
    @ApiModelProperty(name = "openid",value = "微信标识",dataType = "String")
    private String openid;

    /** 创建人 */
    @ApiModelProperty(name = "createdBy",value = "创建人",dataType = "String")
    private String createdBy;

    /** 注册时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(name = "createdTime", value = "创建时间", dataType = "Date", notes = "yyyy-MM-dd")
    @TableField(fill = FieldFill.INSERT)
    private Date createdTime;

    /** 更新人 */
    @ApiModelProperty(name = "updatedBy",value = "更新人",dataType = "String")
    private String updatedBy;

    /** 更新时间 */
    @ApiModelProperty(name = "updatedTime",value = "更新时间",dataType = "Date",notes = "yyyy-MM-dd")
    private Date updatedTime;

    /** 用户头像 */
    @ApiModelProperty(name = "img",value = "用户头像",dataType = "String")
    private String img;

    /** 用户定位所在城市 */
    @ApiModelProperty(name = "city",value = "用户定位所在城市",dataType = "String")
    private String city;

    /** 用户定位所在省份 */
    @ApiModelProperty(name = "province",value = "用户定位所在省份",dataType = "String")
    private String province;

    /** 用户支付密码 */
    @ApiModelProperty(name = "password",value = "用户支付密码",dataType = "String")
    private String password;

    /** 用户类型（1普通用户，2小学生） */
    @ApiModelProperty(name = "clientType",value = "用户类型（1普通用户，2小学生）",dataType = "String")
    private String clientType;

    /** 学校（小学生才有） */
    @ApiModelProperty(name = "school",value = "学校（小学生才有）",dataType = "String")
    private String school;

    /** 生日 */
    @ApiModelProperty(name = "birthday",value = "生日",dataType = "Date")
    private Date birthday;

    /**
     * 小学生账号的主账号ID
     */
    @ApiModelProperty(name = "parentId", value = "小学生账号的主账号ID", dataType = "Integer")
    private Integer parentId;

    /**
     * 达人上级ID
     */
    @ApiModelProperty(name = "superiorId", value = "达人上级ID", dataType = "Integer")
    private Integer superiorId;

    /**
     * 引流门店ID
     */
    @ApiModelProperty(name = "shopId", value = "引流门店ID", dataType = "Integer")
    private Integer shopId;

    @ApiModelProperty(name = "salesmanId", value = "业务员ID", dataType = "Long")
    private Long salesmanId;

    @ApiModelProperty(name = "shopName", value = "门店名称", dataType = "String")
    private String shopName;

    /** 开户人姓名 */
    @Excel(name = "开户人姓名")
    @ApiModelProperty(name = "bankUserName",value = "开户人姓名",dataType = "String")
    private String bankUserName;

    /** 银行卡号 */
    @Excel(name = "银行卡号")
    @ApiModelProperty(name = "bankNumber",value = "银行卡号",dataType = "String")
    private String bankNumber;

    /** 开户支行 */
    @Excel(name = "开户支行")
    @ApiModelProperty(name = "bankName",value = "开户支行",dataType = "String")
    private String bankName;

}
